home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / video / fly8111-.000 / fly8111- / fly8 / noellips.c < prev    next >
C/C++ Source or Header  |  1979-12-31  |  1KB  |  45 lines

  1. /* --------------------------------- noellips.c ----------------------------- */
  2.  
  3. /* This is part of the flight simulator 'fly8'.
  4.  * Author: Eyal Lebedinsky (eyal@ise.canberra.edu.au).
  5. */
  6.  
  7. /* Draw a 16-gon instead of an ellipse.
  8. */
  9.  
  10. #include "fly.h"
  11.  
  12.  
  13. extern void FAR
  14. NoEllipse (Uint x1, Uint y1, Uint rx, Uint ry, Uint color)
  15. {
  16.     int    ax, bx, cx, dx, ay, by, cy, dy;
  17.  
  18.     ax = fmul ( 3196, rx);        /* sin (pi/16) */
  19.     ay = fmul ( 3196, ry);
  20.     bx = fmul ( 9102, rx);        /* sin (3*pi/16) */
  21.     by = fmul ( 9102, ry);
  22.     cx = fmul (13623, rx);        /* sin (5*pi/16) */
  23.     cy = fmul (13623, ry);
  24.     dx = fmul (16069, rx);        /* sin (7*pi/16) */
  25.     dy = fmul (16069, ry);
  26.  
  27.     Gr->MoveTo (x1+dx, y1-ay);
  28.     Gr->DrawTo (x1+cx, y1-by, color);
  29.     Gr->DrawTo (x1+bx, y1-cy, color);
  30.     Gr->DrawTo (x1+ax, y1-dy, color);
  31.     Gr->DrawTo (x1-ax, y1-dy, color);
  32.     Gr->DrawTo (x1-bx, y1-cy, color);
  33.     Gr->DrawTo (x1-cx, y1-by, color);
  34.     Gr->DrawTo (x1-dx, y1-ay, color);
  35.     Gr->DrawTo (x1-dx, y1+ay, color);
  36.     Gr->DrawTo (x1-cx, y1+by, color);
  37.     Gr->DrawTo (x1-bx, y1+cy, color);
  38.     Gr->DrawTo (x1-ax, y1+dy, color);
  39.     Gr->DrawTo (x1+ax, y1+dy, color);
  40.     Gr->DrawTo (x1+bx, y1+cy, color);
  41.     Gr->DrawTo (x1+cx, y1+by, color);
  42.     Gr->DrawTo (x1+dx, y1+ay, color);
  43.     Gr->DrawTo (x1+dx, y1-ay, color);
  44. }
  45.